Programming a Real Self-Driving Car

Submission checklist and requirements

Once your team's project is able to drive the vehicle successfully in the simulator, you may be ready to submit the project for testing on the Udacity vehicle. At this point, your project should:

  • Launch correctly using the launch files provided in the capstone repo. Please note that we will not be able to accommodate special launch instructions or run additional scripts from your submission to download files. *The launch/styx.launch and launch/site.launch files will be used to test code in the simulator and on the vehicle respectively. The submission size limit for this project has been increased to 2GB. *
  • Smoothly follow waypoints in the simulator.
  • Respect the target top speed set for the waypoints' twist.twist.linear.x in waypoint_loader.py. Be sure to check that this is working by testing with different values for kph velocity parameter in /ros/src/waypoint_loader/launch/waypoint_loader.launch. If your vehicle adheres to the kph target top speed set here, then you have satisfied this requirement.
  • Stop at traffic lights when needed.
  • Stop and restart PID controllers depending on the state of /vehicle/dbw_enabled.
  • Publish throttle, steering, and brake commands at 50hz.

Udacity engineers will be evaluating your project on Carla, an autonomous Lincoln MKZ, at their test site in Palo Alto, California. The project that is evaluated on the vehicle should not have any external libraries that aren't included in the starter repo. Your team should be aware of the hardware specifications of the Udacity vehicle when designing your solution.

Udacity Self-Driving Car Hardware Specs

  • 31.4 GiB Memory
  • Intel Core i7-6700K CPU @ 4 GHz x 8
  • TITAN X Graphics
  • 64-bit OS

After your team has confirmed that traffic light detection is working in the simulator, you should test it out using ROS bags that were recorded at the test site: Traffic Light Detection Test Video.

  • The rubric for this project is fairly simple - does the vehicle successfully navigate the track? If you are in the three-term version, check the rubric here, or for the two-term version see the rubric here.

Project submission instructions

Once your project satisfies the conditions above, please follow these instructions to submit the project. Note that we will require a submission from each student in order to graduate. To prevent identical team member code from being run on Carla, there are different submission instructions for Team Leads and Team Members. We will run code and provide feedback for Team Lead submissions.

Team Member or Individual submission instructions (non Team Lead submissions)

The submission should include:

  • All code for your project, submitted via a zipped file or through Github. Please use the same directory structure as the project repo, ensuring that all files are included.
  • A README file in .txt, .md, or .pdf format. This README should contain the names and Udacity account emails of your team members. For additional resources on creating READMEs or using Markdown, see here and here.
  • #### Important: Please leave the Notes to reviewer blank when uploading your submission.

Team Lead submission instructions

Submissions or resubmissions intended for review should include:

  • All code for your project, submitted via a zipped file or through Github. Please use the same directory structure as the project repo, ensuring that all files are included.
  • A README file in .txt, .md, or .pdf format. This README should contain the names and Udacity account emails of your team members. For additional resources on creating READMEs or using Markdown, see here and here.
  • #### Important: Please also include the names and Udacity account emails of you and your team members in the Notes to reviewer when uploading your submission. Without these, we will not be able to run the code on Carla.

When your team is satisfied with the results of your project, please resubmit with Notes to reviewer blank.

Student Code Demonstration

Once your Team Lead has received feedback that Udacity was able to successfully run your code on Carla, Term 3 students currently living in or visiting the San Francisco, California Bay Area will be able to enter a drawing to watch their code run on Carla at our Palo Alto, CA testing lot.

To streamline this demonstration, we will be running a drawing to determine who can attend. Due to the limited time frame, we do not guarantee that we will have time to run your code on the car. Because of this, we highly encourage only those currently living in or visiting the San Francisco Bay Area during one of these dates to enter the drawing. We thank you in advance for your understanding.

Criteria for entering the drawing:

  • You are part of a team whose “Programming a Real Self-Driving Car” project has received feedback that Udacity was able to successfully run your code on Carla.
  • You are currently living in or visiting the Bay Area on one of the dates below.

Conditions:

Students are limited to attending a demonstration one time. If you are selected, you may not re-apply to attend future demonstrations.
We can not guarantee that you will be able to run your code on Carla.
Students are responsible for covering costs related to travel to the Palo Alto testing lot.

Selection and notification:

  • We will close the drawing and notify you of your status 4 days prior to the demonstration date.

*Student code demonstrations in 2018 will happen from 2pm - 4pm PDT in Palo Alto, CA on the following dates: *

March 8th

March 28th (coincides with Udacity's Intersect Conference)

May 11th

June 8th

August 31st

September 21st

November 9th

Click Here to Enter the Drawing